<?php
/**
 * 测试初始化
 * Created by PhpStorm.
 * Author: 张志祥
 * QQ: 786811688
 * Phone: 13306281319
 * Date: 2017/5/21
 * Time: 14:13
 */

// 执行步骤：1停止交易服务程序，2执行此初始化程序，3启动交易服务程序，4下单，5停止下单并等待所有持仓结束，6测试数据
// 清空机构流水表，清空客户流水表，清空历史订单表，清空持仓订单表，清空异常订单表
// 重置机构表余额，清零机构表手续费当日累计，清零机构表盈亏当日累计
// 重置客户表余额，清零客户表手续费当日累计，清零客户表盈利当日累计，清零客户表亏损当日累计
// 记录客户表余额汇总，记录机构表余额汇总

include 'pub.php'; // 公共函数

/**
 * 使用 $argc $argv 接受参数
 * 传入示例：php test.php a b c d
 * 用$argc接收参数个数
 * 用$argv接收参数值，是个数组，第0个元素为php文件名，第1个元素为第1个参数。
 * 第1个参数为机构余额，第2个参数为客户余额，第3个参数为赠金
 */
$argv[1] = isset($argv[1]) ? $argv[1] : 10000000; // 机构余额
$argv[2] = isset($argv[2]) ? $argv[2] : 1000000; // 客户余额
$argv[3] = isset($argv[3]) ? $argv[3] : 100; // 赠金

// 清空机构流水表
$sql = 'TRUNCATE zzx_balanceinfo_jg';
$my_conn->query($sql);
$sql = 'TRUNCATE zzx_balanceinfo_jg_sam';
$my_conn->query($sql);
// 清空客户流水表
$sql = 'TRUNCATE zzx_balanceinfo_kh';
$my_conn->query($sql);
$sql = 'TRUNCATE zzx_balanceinfo_kh_sam';
$my_conn->query($sql);

// 清空历史订单表
$sql = 'TRUNCATE zzx_order_history';
$my_conn->query($sql);
$sql = 'TRUNCATE zzx_order_history_sam';
$my_conn->query($sql);
// 清空持仓订单表
$sql = 'TRUNCATE zzx_order_position';
$my_conn->query($sql);
// 清空异常订单表
$sql = 'TRUNCATE zzx_order_error';
$my_conn->query($sql);

// 初始化机构表
$sql = "UPDATE zzx_jg_company set  balance = $argv[1], Initial_balance = {$argv[1]}, service_fee = 0, gain_loss = 0";
$my_conn->query($sql);
// 机构表余额汇总
$sql = 'SELECT Sum(zzx_jg_company.balance) as balance FROM zzx_jg_company';
$res = $my_conn->query($sql);
$balance_jq = mysqli_fetch_array($res, MYSQLI_ASSOC)['balance'];

// 初始化客户表
$sql = "UPDATE zzx_wp_userinfo SET balance = {$argv[2]}, losses = 0, gains = 0, service_fee = 0";
$my_conn->query($sql);
// 初始化客户扩展表，设置赠金
$sql = "UPDATE zzx_wp_usercash SET zj_balance = {$argv[3]}";
$my_conn->query($sql);
// 客户表余额汇总
$sql = 'SELECT Sum(zzx_wp_userinfo.balance) as balance FROM zzx_wp_userinfo';
$res = $my_conn->query($sql);
$balance_kh = mysqli_fetch_array($res, MYSQLI_ASSOC)['balance'];

// 记录余额
$balance = array('balance_jq' => $balance_jq, 'balance_kh' => $balance_kh);
file_put_contents(dirname(__FILE__) . '/balance_init.log', json_encode($balance));

// 更新用户缓存余额
$sql = 'select uid, balance from zzx_wp_userinfo';
$res = $my_conn->query($sql);
while ($v = mysqli_fetch_assoc($res)) {
    $redis->hSet($config['REDIS_PREFIX'] . 'user_' . $v['uid'], 'balance', $v['balance']); // 设置用户余额
}

// 删除用户订单信息
$lis = $redis->keys($config['REDIS_PREFIX'] . 'uorder_*');
foreach ($lis as $key => $val) {
    $redis->del($val);
}
echo "初始化完成！\n";